Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

szukanie zer w tablicy


Eryk.

Rekomendowane odpowiedzi

Opublikowano

hej

 

potrzebuje kawałek kodu który w tablicy dwu wymiarowej szuka zer niezależnych

 

rys8_09.gif

 

tak jak na obrazku. czyli jeżeli jeżeli znajdzie na pozycji 1,3 zero to już nie szuka w kolumnie trzeciej ani w pierwszym wierszu .

 

czyli jeżeli znajdzie zero na przecięciu np. kolumny pierwszej wiersza trzeciego to już nie szuka ani w tej kolumnie ani w tym wierszu

 

 

proszę o szybką pomoc

Opublikowano

chodzi o to, że jak znajdzie na pozycji

X=3

Y=1

to ignoruje zero na pozycji odwróconej czyli Y=3 X=1 (liczy tylko jedno)?

czy pomija też sprawdzanie współżędnych

X=1 Y=1

X=2 Y=2 itd?

Opublikowano

@edit

proszę. Z nudów już napisałem całe

#include <iostream>
#define Szer 4
#define Wys 4
bool mojatablica[szer] = {false};
int tablica[Wys][szer] =
{
   {5 ,1, 0,30},
   {0 ,2, 2, 3},
   {2 ,0,55, 5},
   {0 ,1, 3, 1}
};
using namespace std;

int main()
{
 for(int ii = 0;ii<Wys;ii++)
{
	 for(int i = 0;i<Szer;i++)
	 {
				    if((tablica[i][ii] == 0) && (mojatablica[i] == false))//przyjmuj?, ?e pierwszy jakby [] tablicy odpowiada za jej szerokosc
			   {
							  //unikalna
							  cout << ii+1 << ":" << i+1 << endl;
							  mojatablica[i] = true;
							  ii++;
							  i = -1;

			   }
	 }
}
return 0;
}


Opublikowano

Zajrzyj tutaj:

http://en.wikipedia....arian_algorithm

 

W sekcji "Implementations" będziesz miał wszystko, czego potrzebujesz :]

 

Natomiast odpowiedź na Twoje konkretne pytania jest w sekcji Matrix Interpretation, step 3.

 

Mark all rows having no assignments (row 1). Then mark all columns having zeros in that row(s) (column 1). Then mark all rows having assignments in the given column (row 3). Repeat this till a closed loop is obtained.

 

Now draw lines through all marked columns and unmarked rows.

 

The aforementioned detailed description is just one way to draw the minimum number of lines to cover all the 0's. Other methods work as well.

 

Samo "zaznaczanie odpowiednich kolumn/rzędów" to przeszukiwanie tablicy 2D w pionie lub poziomie.

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...